In a computer system of a financial institution or the like, data are usually input from online terminals to process the data. However, for example, when vast amounts of information are to be registered, input of data from online terminals may be out of touch with reality. In such a case, a file including data to be input may be created and this file may be input to perform bulk data processing (also called “center-cut processing”) on the data.
In the computer system of the financial institution or the like, volumes of millions of records need to be processed in block within a set period of time, and the performance of bulk data processing becomes an issue. In bulk data processing, since processing similar to the case where data are input from online terminals is performed, there is a need to access tables of various databases at random depending on input data. Thus, when read operations occur at random in database processing, more time is required for one read operation, and this has a great impact on the performance.
Therefore, there have been conventionally proposed techniques for speeding up processing for databases.
In Japanese Patent Application Publication No. 11-3260, when a query request is issued, if a transaction to process the query is aware of the sequence of records in a block concerned, the transaction will determine a sequence identifier to determine whether the sorted state can be reused in the transaction. Then, when it is determined that the transaction cannot process the query or the transaction cost is high, the block is occupied, records in the block are sorted, the sequence identifier at the time of sorting is updated, and the block is released after the sorted state of the block is changed.
In Japanese Patent Application Publication No. 2008-165622, a query received is optimized to create a transaction tree built with relational algebra. Tasks capable of being processed directly from this transaction tree in order of topological sort are found, these tasks are grouped based on the relations between databases the tasks access, each group in which tasks performing processing on a common relation are put together is inserted into a queue of groups, and groups are extracted from the queue of groups according to the number of processes available in an operating system to cause the respective processes to execute the groups using multi-operation method.
There have also been proposed techniques for performing processing in a memory or database efficiently.
In Japanese Patent Application Publication No. 11-88199, a data area into which data to be sorted is written and an address area in which an address value indicative of the next write destination address is written beforehand are formed for each of addresses of a memory including a first buffer area and a second buffer area, and each of the addresses is accessed sequentially according to the address value from the address area of the address upon writing data to write the data in predetermined order, where when data is written into the first buffer area, the second buffer area is sequentially accessed, while when data is written into the second buffer area, the first buffer area is sequentially accessed, thus reading data in an array different from the array of input data.
In Japanese Patent Application Publication No. 2003-150414, a data position management server collects and stores volume physical storage position management information and physical storage device operation information from a storage device, collects and stores required information from schema information in the DBMS of a DB host, collects and stores mapping information in the DB host and virtual volume information in a virtual volume switch, and acquires and stores execution history information from the DB host to determine a data relocation plan having good performance characteristics based on these pieces of information and issue a data migration instruction to realize it.